﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AJAX_learning
{
	public partial class Chapter8 : System.Web.UI.Page
	{
		// Создать компонент базы данных, чтобы он был доступен в пределах всей страницы.
		private EmployeeDb db = new EmployeeDb();
		protected override void OnLoad(EventArgs e)
		{
			base.OnLoad(e);

			WriteEmployeesList();
			// Значение ID просто устанавливается в 0, потому что оно генерируется
			// сервером базы данных и заполняется автоматически, когда вы вызываете InsertEmployee().
			var employee = new EmployeeDetails(0, "Marco", "Bellinaso", "Mr.");
			int empID = db.InsertEmployee(employee);
			HtmlContent.Text += "<br />Inserted 1 employee.<br />";
			WriteEmployeesList();
			db.DeleteEmployee(empID);
			HtmlContent.Text += "<br />Deleted 1 employee.<br />";
			WriteEmployeesList();
		}

		private void WriteEmployeesList()
		{
			var htmlStr = new StringBuilder("");
			int numEmployees = db.CountEmployees();
			htmlStr.Append("<br />Total employees: <b>");
			htmlStr.Append(numEmployees.ToString());
			htmlStr.Append("</b><br /><br />");
			List<EmployeeDetails> employees = db.GetEmployees();
			foreach (EmployeeDetails emp in employees)
			{
				htmlStr.Append("<li>");
				htmlStr.Append(emp.EmployeeID);
				htmlStr.Append(" ");
				htmlStr.Append(emp.TitleOfCourtesy);
				htmlStr.Append(" <b>");
				htmlStr.Append(emp.FirstName);
				htmlStr.Append("</b>, ");
				htmlStr.Append(emp.LastName);
				htmlStr.Append("</li>");
			}
			htmlStr.Append("<br />");
			HtmlContent.Text += htmlStr.ToString();
		}
	}
}